14
תגובות

ייעול עבודה מול המסד

פתח Ben ,
היי.
במערכת שלי בכל כניסה לאתר אני בודק האם המשתמש האייפי של המשתמש קיים במערכת ( מול המסד ) במידה וכן הגלישה ממשיכה, במידה ולא אני מוסיף את האייפי לתוך קובץ טקסט.

כעת יש 15 אלף שורות במסד, אני בכוונה עושה את זה בצורה כזאת, האם יש דרך לייעל את הדבר הזה ?

14 תשובות

avatar ענה Ben ב 28 לנובמבר 2014 #

עזרה?

avatar ענה Splash ב 29 לנובמבר 2014 #

מה המטרה של הקובץ טקסט ? מה המטרה של האייפי ? תסביר יותר על מה אתה מדבר ויהיה אפשר להפנות אותך לפתרון רלוונטי.

avatar ענה Ben ב 29 לנובמבר 2014 #

אדגים לך בצורה אחרת.
יש לי אתר של שירים, לכל שיר יש מזהה משלו.
כאשר המשתמש נכנס לעמוד של שיר מסויים, אני בודק אם האיידי (המזהה) של השיר נמצא במסד, אם כן אני מפנה אותו לאתר מסויים. אם לא אני מכניס את האיידי של השיר לsitemap.
אני משתמש במסד כדי לדעת מה קיים בקובץ ומה לא על מנת שלא יהיו כפילויות של מזהים בקובץ שלי. עכשיו הקובץ הגיע ל 16 אלף שורות וכך גם המסד, כל בדיקה לוקחת זמן. יש דרך לייעל את הדבר הזה?

התאכלס זה הקובץ טקסט, המסד סה"כ משמש אותי לבקרה על מנת לא להכניס פעמיים את אותו המזהה

avatar ענה Splash ב 29 לנובמבר 2014 #

אתה צריך את זה בשביל ליצור sitemap ?

avatar ענה Ben ב 30 לנובמבר 2014 #

לא. אני צריך את זה בשביל לעדכן כל פעם את ה sitemap במזהה חדש.
וכדי לא להוסיף את המזהה בכל פעם שגולש נכנס, אני בודק בכל כניסה אם המזהה קיים במסד, אם כן אני לא מוסיף, אחרת אני כן מוסיף.
העובדה שאני מוסיף אומרת שאף גולש אחר לא נכנס לאותו דף עם המזהה הספציפי. אם אני לא מוסיף ז"א שגולש כלשהו בעבר כן נכנס לדף הזה עם המזהה הזה.

avatar ענה OrelBeY ב 07 לדצמבר 2014 #

מרפרוף קל - למה קובץ טקסט? אם במסד - פשוט תגדיר את זה כ-Primary Key.

avatar ענה Ben ב 07 לדצמבר 2014 #

קובץ טקסט הכוונה ל XML -> עידכון ה SITEMAP..

avatar ענה OrelBeY ב 07 לדצמבר 2014 #

תצבור עדכונים למפת האתר ותעדכן אותה כל דקה מקסימום.

avatar ענה Ben ב 07 לדצמבר 2014 #

וחוץ מזה? מה אפשרי עוד?

avatar ענה OrelBeY ב 07 לדצמבר 2014 #

מה עוד יכול להיות אפשרי? אם זה מתעדכן בקצב מהיר, ולא מספר דפים כל מספר ימים, צריכה להיות פעולת עדכון אוטומטית. אי אפשר לעדכן את זה 100 פעמים בשנייה, וגם לא כדאי שזה יהיה 100 פעמים בדקה, בשעה, ואפילו ביום.

אגב, קרא את ההנחיות של Google. (בין השאר שכל קובץ מפה לא יכיל יותר מ-50,000 רשומות ושלא ישקול יותר מ-50MB.)

avatar ענה Ben ב 07 לדצמבר 2014 #

אוקי.
איך אתה מציע לבצע דבר כזה?
איך אני מבצע את התהליך של השמירת עדכונים ועדכונם פעם ביום בשעה 4 בבוקר לדוגמא? (בכוונה שעה שאין כמעט גולשים באתר שלא יתקע..)
אשמח לכיוון והסבר כללי וטוב :)

avatar ענה OrelBeY ב 07 לדצמבר 2014 #

מהתיאור שלך, אפשר להוסיף עמודה בוליאנית in_sitemap לטבלת השירים, לשים עליה אינדקס, ולפעול לפי זה פעם ביום (באמצעות Cron Job).

כשהמערכת הזאת תגדל יותר, יהיה עדיף להשקיע ברכיב עדכון Sitemap. ברגע שיש לך כמה סוגי תוכן, ולא רק שירים, יהיה אפשר שכל רכיב ירשום פעולת עדכון לעצמו ברכיב העדכון הזה, והוא ינהל את כולן פעם ביום.

avatar ענה Ben ב 10 לדצמבר 2014 #

תודה. במידה ואין לי אפשרות לגשת לCron Job , ישנה דרך חלופית ? כל דרך אחרת אשמח לשמוע..
* אני יכול לגשת אליו אבל אשמח לדעת דרכים אחרות במידה ולא יהיה לי בעתיד בסיטואציות אחרות..

avatar ענה OrelBeY ב 19 לדצמבר 2014 #

עקרונית זה אפשרי לבדוק בסוף כל בקשה לאתר אם יש צורך בעדכון, ואם כן - לשלוח את התוצאה למשתמש ולתת לסקריפט להמשיך לרוץ ולעדכן. (אני לא בדיוק יודע איך לעשות את זה, אבל זה אפשרי.)